package com.xydtech.ecard.custgroup.mapper;

import com.xydtech.ecard.custgroup.domain.EcardCustomerGroupMerchant;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * 电子名片行业客户信息Mapper接口
 *
 * @author yuzhiguo
 * @date 2024-12-04 上午8:44
 */
public interface EcardCustomerGroupMerchantMapper
{
    /**
     * 查询电子名片行业客户信息
     *
     * @param id 电子名片行业客户信息主键
     * @return 电子名片行业客户信息
     */
    public EcardCustomerGroupMerchant selectEcardCustomerGroupMerchantById(Long id);

    /**
     * 查询电子名片行业客户信息列表
     *
     * @param ecardCustomerGroupMerchant 电子名片行业客户信息
     * @return 电子名片行业客户信息集合
     */
    public List<EcardCustomerGroupMerchant> selectEcardCustomerGroupMerchantList(EcardCustomerGroupMerchant ecardCustomerGroupMerchant);

    /**
     * 新增电子名片行业客户信息
     *
     * @param ecardCustomerGroupMerchant 电子名片行业客户信息
     * @return 结果
     */
    public int insertEcardCustomerGroupMerchant(EcardCustomerGroupMerchant ecardCustomerGroupMerchant);

    /**
     * 修改电子名片行业客户信息
     *
     * @param ecardCustomerGroupMerchant 电子名片行业客户信息
     * @return 结果
     */
    public int updateEcardCustomerGroupMerchant(EcardCustomerGroupMerchant ecardCustomerGroupMerchant);

    /**
     * 删除电子名片行业客户信息
     *
     * @param id 电子名片行业客户信息主键
     * @return 结果
     */
    public int deleteEcardCustomerGroupMerchantById(Long id);

    /**
     * 批量删除电子名片行业客户信息
     *
     * @param ids 需要删除的数据主键集合
     * @return 结果
     */
    public int deleteEcardCustomerGroupMerchantByIds(String[] ids);

    /**
     * 根据商户id查询行业客户信息
     *
     * @param merchantId
     * @param merchantType
     * @return
     */
    EcardCustomerGroupMerchant selectEcardCustomerGroupMerchantByMerchantId(@Param("merchantId") Long merchantId, @Param("merchantType") String merchantType);

    /**
     * 批量移交行业客户信息
     * @param customerGroupMerchantList
     */
    int batchUpdateEcardGroupMerchantInfo(List<EcardCustomerGroupMerchant> customerGroupMerchantList);

    /**
     * 批量释放行业客户信息
     * @param customerGroupMerchantList
     */
    int batchReleaseEcardGroupMerchantInfo(List<EcardCustomerGroupMerchant> customerGroupMerchantList);

    /**
     * 批量启/停用行业客户信息
     * @param customerGroupMerchantList
     */
    int batchSwitchOverEcardGroupMerchantInfo(List<EcardCustomerGroupMerchant> customerGroupMerchantList);
}
